
/**
 * @copyright Copyright(C) 2023, Fortior Technology Co., Ltd. All rights reserved.
 * @file      OLED.c
 * @author    Fortiortech Application Team
 * @date      2023-10-30
 * @brief     This file contains I2C configuration.
 */

#include "FU68xx_4_MCU.h"
#include "OLED.h"
#include <stdio.h>
#define high 1
#define low 0
#define SCL  GP01
#define SDA  GP00
//unsigned char code F6x8[][6];
unsigned char code F8X16[];
void OLED_ShowChar(uint8 x, uint8 y, uint8 chr, uint8 SIZE);
void OLED_ShowString(uint8 x, uint8 y, uint8 SIZE, uint8 * chr);
/****************************************************/
void Initial_LY096BG30();
void Delay_50ms(unsigned int Del_50ms);
void Delay_1ms(unsigned int Del_1ms);
void fill_picture(unsigned char fill_Data);

void IIC_Start();
void IIC_Stop();
void Write_IIC_Command(unsigned char IIC_Command);
void Write_IIC_Data(unsigned char IIC_Data);
bit Write_IIC_Byte(unsigned char IIC_Byte);

int16 display_ch[4];
/***********************Initial code*********************/
void Initial_LY096BG30()
{
    Write_IIC_Command(0xAE);   //display off
    Write_IIC_Command(0x20);    //Set Memory Addressing Mode
    Write_IIC_Command(0x10);    //00,Horizontal Addressing Mode;01,Vertical Addressing Mode;10,Page Addressing Mode (RESET);11,Invalid
    Write_IIC_Command(0xb0);    //Set Page Start Address for Page Addressing Mode,0-7
    Write_IIC_Command(0xc8);    //Set COM Output Scan Direction
    Write_IIC_Command(0x00);//---set low column address
    Write_IIC_Command(0x10);//---set high column address
    Write_IIC_Command(0x40);//--set start line address
    Write_IIC_Command(0x81);//--set contrast control register
    Write_IIC_Command(0x7f);
    Write_IIC_Command(0xa1);//--set segment re-map 0 to 127
    Write_IIC_Command(0xa6);//--set normal display
    Write_IIC_Command(0xa8);//--set multiplex ratio(1 to 64)
    Write_IIC_Command(0x3F);//
    Write_IIC_Command(0xa4);//0xa4,Output follows RAM content;0xa5,Output ignores RAM content
    Write_IIC_Command(0xd3);//-set display offset
    Write_IIC_Command(0x00);//-not offset
    Write_IIC_Command(0xd5);//--set display clock divide ratio/oscillator frequency
    Write_IIC_Command(0xf0);//--set divide ratio
    Write_IIC_Command(0xd9);//--set pre-charge period
    Write_IIC_Command(0x22); //
    Write_IIC_Command(0xda);//--set com pins hardware configuration
    Write_IIC_Command(0x12);
    Write_IIC_Command(0xdb);//--set vcomh
    Write_IIC_Command(0x20);//0x20,0.77xVcc
    Write_IIC_Command(0x8d);//--set DC-DC enable
    Write_IIC_Command(0x14);//
    Write_IIC_Command(0xaf);//--turn on oled panel
}
/***********************Picture Code**************************/
unsigned char code show1_Fortior[] =
{
    //峰岹科技
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xF0,
    0xF0, 0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xE0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 0xF0,
    0xF0, 0xF0, 0xF0, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0xF8, 0x18, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x87, 0xC7, 0xE7, 0xF3,
    0x7B, 0x7B, 0x7F, 0xBF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x7F, 0x7B,
    0x7B, 0x7F, 0x7F, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x7D, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x83, 0xE1, 0xF1, 0xF8, 0xF8,
    0xFC, 0xFE, 0xFF, 0xFF, 0x7F, 0x7F, 0x3F, 0x3F, 0x9F, 0x9F, 0xCF, 0xCF, 0xEF, 0xE7, 0xF7, 0xF7,
    0xF3, 0xFB, 0xFB, 0xF9, 0xF9, 0xFD, 0xFD, 0xFC, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xF8,
    0xF8, 0xF8, 0xF8, 0xCE, 0x8E, 0x8E, 0xCE, 0xFE, 0xF6, 0xF1, 0xF7, 0xF7, 0x37, 0x07, 0x07, 0x01,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xF8, 0xFE, 0x7F, 0x3F, 0x1F, 0x8F, 0xC7, 0xE7,
    0xF3, 0xF9, 0xF9, 0x7C, 0x7E, 0x3E, 0x3F, 0x1F, 0x1F, 0x1F, 0x1F, 0x0F, 0x0F, 0x0F, 0x07, 0x07,
    0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2F, 0x27, 0x23, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x03, 0x01,
    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFF, 0xFF, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13, 0x13,
    0x00, 0x00, 0xFC, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0xFC,
    0x08, 0x04, 0x04, 0x04, 0x00, 0x08, 0xFE, 0xFE, 0xFE, 0xFE, 0x08, 0x08, 0x08, 0x00, 0x00, 0xFA,
    0xFA, 0xFA, 0x00, 0x00, 0xFC, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0xFC,
    0xFC, 0xFC, 0x08, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03,
    0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x03, 0x03, 0x03, 0x00, 0xF8, 0xFC, 0x2C, 0x6C, 0x6C, 0x6C,
    0x7C, 0x7C, 0x00, 0x00, 0x00, 0xF8, 0xFC, 0xFC, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0xFF,
    0xFF, 0xFF, 0x08, 0x0C, 0x0C, 0x0C, 0xFC, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01,
    0x00, 0x80, 0x00, 0xF0, 0x00, 0x80, 0x00, 0x41, 0x71, 0xA1, 0xA1, 0x61, 0x01, 0x01, 0x00, 0x01,
    0x01, 0x81, 0x00, 0xF0, 0x00, 0x81, 0x01, 0x21, 0xE1, 0x21, 0x21, 0xE0, 0x00, 0x00, 0x00, 0x01,
    0x01, 0x21, 0x20, 0xE0, 0x10, 0x00, 0x20, 0x40, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x81, 0x81, 0xF1, 0x81, 0x40, 0x40, 0x40, 0xF0, 0x40, 0x40, 0x41, 0x01, 0x01, 0x01, 0x01,
    0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01,
    0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x7F, 0x40, 0x3F, 0x20, 0x7F, 0x00, 0x55, 0x55, 0xFE, 0x54, 0x55, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x7F, 0x40, 0x3F, 0x20, 0x7F, 0x04, 0xFA, 0x49, 0x48, 0x4A, 0xFB, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x11, 0x0D, 0xFF, 0x05, 0x09, 0x11, 0x12, 0x10, 0xFF, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x08, 0x88, 0xFF, 0x04, 0x82, 0x8E, 0x52, 0x23, 0x52, 0x8E, 0x80, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
    
};
/**********************************************
//IIC Start
**********************************************/
void IIC_Start()
{
    SCL = low;  ////防止雪花，残留数据出现
    SDA = high;
    SCL = high;
    //Delay_us(1);
    _nop_();
    SDA = low;
    _nop_(); _nop_();
    SCL = low;
}

/**********************************************
//IIC Stop
**********************************************/
void IIC_Stop()
{
    SDA = low;
    _nop_();
    SCL = high;
    _nop_(); _nop_();
    SDA = high;
}
/**********************************************
// IIC Write byte
**********************************************/
bit Write_IIC_Byte(unsigned char IIC_Byte)
{
    unsigned char i;
    bit Ack_Bit;                    //Ó¦´ðÐÅºÅ
    
    for (i = 0; i < 8; i++)
    {
        if (IIC_Byte & 0x80)    //1?0?
        { SDA = high; }
        else
        { SDA = low; }
        
        //Delay_us(1);
        SCL = high;
        _nop_(); _nop_();
        SCL = low;
        //Delay_us(1);
        IIC_Byte <<= 1;         //loop
    }
    
    SDA = high;                        //ÊÍ·ÅIIC SDA×ÜÏßÎªÖ÷Æ÷¼þ½ÓÊÕ´ÓÆ÷¼þ²úÉúÓ¦´ðÐÅºÅ
    _nop_(); _nop_();
    SCL = high;                     //µÚ9¸öÊ±ÖÓÖÜÆÚ
    _nop_(); _nop_();
    Ack_Bit = SDA;                  //¶ÁÈ¡Ó¦´ðÐÅºÅ
    SCL = low;
    return Ack_Bit;
}
/**********************************************
// IIC Write Command
**********************************************/
void Write_IIC_Command(unsigned char IIC_Command)
{
    IIC_Start();
    Write_IIC_Byte(0x78);            //Slave address,SA0=0
    Write_IIC_Byte(0x00);            //write command
    Write_IIC_Byte(IIC_Command);
    IIC_Stop();
}
/**********************************************
// IIC Write Data
**********************************************/
void Write_IIC_Data(unsigned char IIC_Data)
{
    IIC_Start();
    Write_IIC_Byte(0x78);
    Write_IIC_Byte(0x40);            //write data
    Write_IIC_Byte(IIC_Data);
    IIC_Stop();
}
/********************************************
// fill_Picture
********************************************/
void fill_picture(unsigned char fill_Data)
{
    unsigned char m, n;
    
    for (m = 0; m < 8; m++)
    {
        Write_IIC_Command(0xb0 + m);    //page0-page1
        Write_IIC_Command(0x00);        //low column start address
        Write_IIC_Command(0x10);        //high column start address
        
        for (n = 0; n < 128; n++)
        {
            Write_IIC_Data(fill_Data);
        }
    }
}
/******************************************
// picture
******************************************/
void Picture_display()
{
    unsigned char x, y;
    unsigned int i = 0;
    
    for (y = 0; y < 8; y++)
    {
        Write_IIC_Command(0xb0 + y);
        Write_IIC_Command(0x00);
        Write_IIC_Command(0x10);
        
        for (x = 0; x < 128; x++)
        {
            Write_IIC_Data(show1_Fortior[i++]);
        }
    }
}

/***********************Delay****************************************/
void Delay_50ms(unsigned int Del_50ms)      //
{
    unsigned int m;
    
    for (; Del_50ms > 0; Del_50ms--)
        for (m = 6245; m > 0; m--);
}

void Delay_1ms(unsigned int Del_1ms)        //
{
    unsigned char j;
    
    while (Del_1ms--)
    {
        for (j = 0; j < 123; j++);
    }
}


//显示一个字符号串
void OLED_ShowString(uint8 x, uint8 y, uint8 SIZE, uint8 * chr)
{
    uint8 j = 0;
    
    while (chr[j] != '\0')
    {
        OLED_ShowChar(x, y, chr[j], SIZE);
        x += 8;
        
        if (x > 120)
        {
            x = 0;
            y += 2;
        }
        
        j++;
    }
}
/*******************************Main*******************************/

void OLED_Set_Pos(unsigned char x, unsigned char y)
{
    Write_IIC_Command(0xb0 + y);
    Write_IIC_Command(((x & 0xf0) >> 4) | 0x10);
    Write_IIC_Command((x & 0x0f) | 0x01);
}

//在指定位置显示一个字符,包括部分字符
//x:0~127
//y:0~63
//mode:0,反白显示;1,正常显示
//size:选择字体 16/12
void OLED_ShowChar(uint8 x, uint8 y, uint8 chr, uint8 SIZE)
{
    uint8 charTableAddr = 0, i = 0;
    charTableAddr = chr - ' '; //得到偏移后的值
    
    if (x > Max_Column - 1)
    {
        x = 0;
        y = y + 2;
    }
    
    if (SIZE == 16)
    {
        OLED_Set_Pos(x, y);
        
        for (i = 0; i < 8; i++)
        { Write_IIC_Data(F8X16[charTableAddr * 16 + i]); }
        
        OLED_Set_Pos(x, y + 1);
        
        for (i = 0; i < 8; i++)
        { Write_IIC_Data(F8X16[charTableAddr * 16 + i + 8]); }
    }
    else
    {
        OLED_Set_Pos(x, y + 1);
        
//        for (i = 0; i < 6; i++)
//        { Write_IIC_Data(F6x8[charTableAddr][i]); }
    }
}

/****************************************8*16的点阵************************************/
unsigned char code F8X16[] =
{
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0
    0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x30, 0x00, 0x00, 0x00, //! 1
    0x00, 0x10, 0x0C, 0x06, 0x10, 0x0C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //" 2
    0x40, 0xC0, 0x78, 0x40, 0xC0, 0x78, 0x40, 0x00, 0x04, 0x3F, 0x04, 0x04, 0x3F, 0x04, 0x04, 0x00, //# 3
    0x00, 0x70, 0x88, 0xFC, 0x08, 0x30, 0x00, 0x00, 0x00, 0x18, 0x20, 0xFF, 0x21, 0x1E, 0x00, 0x00, //$ 4
    0xF0, 0x08, 0xF0, 0x00, 0xE0, 0x18, 0x00, 0x00, 0x00, 0x21, 0x1C, 0x03, 0x1E, 0x21, 0x1E, 0x00, //% 5
    0x00, 0xF0, 0x08, 0x88, 0x70, 0x00, 0x00, 0x00, 0x1E, 0x21, 0x23, 0x24, 0x19, 0x27, 0x21, 0x10, //& 6
    0x10, 0x16, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //' 7
    0x00, 0x00, 0x00, 0xE0, 0x18, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x07, 0x18, 0x20, 0x40, 0x00, //( 8
    0x00, 0x02, 0x04, 0x18, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x18, 0x07, 0x00, 0x00, 0x00, //) 9
    0x40, 0x40, 0x80, 0xF0, 0x80, 0x40, 0x40, 0x00, 0x02, 0x02, 0x01, 0x0F, 0x01, 0x02, 0x02, 0x00, //* 10
    0x00, 0x00, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x1F, 0x01, 0x01, 0x01, 0x00, //+ 11
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xB0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, //, 12
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, //- 13
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, //. 14
    0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x18, 0x04, 0x00, 0x60, 0x18, 0x06, 0x01, 0x00, 0x00, 0x00, /// 15
    0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x10, 0x0F, 0x00, //0 16
    0x00, 0x10, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, //1 17
    0x00, 0x70, 0x08, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x30, 0x28, 0x24, 0x22, 0x21, 0x30, 0x00, //2 18
    0x00, 0x30, 0x08, 0x88, 0x88, 0x48, 0x30, 0x00, 0x00, 0x18, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00, //3 19
    0x00, 0x00, 0xC0, 0x20, 0x10, 0xF8, 0x00, 0x00, 0x00, 0x07, 0x04, 0x24, 0x24, 0x3F, 0x24, 0x00, //4 20
    0x00, 0xF8, 0x08, 0x88, 0x88, 0x08, 0x08, 0x00, 0x00, 0x19, 0x21, 0x20, 0x20, 0x11, 0x0E, 0x00, //5 21
    0x00, 0xE0, 0x10, 0x88, 0x88, 0x18, 0x00, 0x00, 0x00, 0x0F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00, //6 22
    0x00, 0x38, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x00, 0x00, 0x00, 0x00, //7 23
    0x00, 0x70, 0x88, 0x08, 0x08, 0x88, 0x70, 0x00, 0x00, 0x1C, 0x22, 0x21, 0x21, 0x22, 0x1C, 0x00, //8 24
    0x00, 0xE0, 0x10, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x00, 0x00, 0x31, 0x22, 0x22, 0x11, 0x0F, 0x00, //9 25
    0x00, 0x00, 0x00, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, //: 26
    0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x00, 0x00, 0x00, //; 27
    0x00, 0x00, 0x80, 0x40, 0x20, 0x10, 0x08, 0x00, 0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, //< 28
    0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, //= 29
    0x00, 0x08, 0x10, 0x20, 0x40, 0x80, 0x00, 0x00, 0x00, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01, 0x00, //> 30
    0x00, 0x70, 0x48, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x36, 0x01, 0x00, 0x00, //? 31
    0xC0, 0x30, 0xC8, 0x28, 0xE8, 0x10, 0xE0, 0x00, 0x07, 0x18, 0x27, 0x24, 0x23, 0x14, 0x0B, 0x00, //@ 32
    0x00, 0x00, 0xC0, 0x38, 0xE0, 0x00, 0x00, 0x00, 0x20, 0x3C, 0x23, 0x02, 0x02, 0x27, 0x38, 0x20, //A 33
    0x08, 0xF8, 0x88, 0x88, 0x88, 0x70, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x11, 0x0E, 0x00, //B 34
    0xC0, 0x30, 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, 0x07, 0x18, 0x20, 0x20, 0x20, 0x10, 0x08, 0x00, //C 35
    0x08, 0xF8, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00, //D 36
    0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x23, 0x20, 0x18, 0x00, //E 37
    0x08, 0xF8, 0x88, 0x88, 0xE8, 0x08, 0x10, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x00, 0x00, 0x00, //F 38
    0xC0, 0x30, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x07, 0x18, 0x20, 0x20, 0x22, 0x1E, 0x02, 0x00, //G 39
    0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x21, 0x3F, 0x20, //H 40
    0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, //I 41
    0x00, 0x00, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00, 0x00, //J 42
    0x08, 0xF8, 0x88, 0xC0, 0x28, 0x18, 0x08, 0x00, 0x20, 0x3F, 0x20, 0x01, 0x26, 0x38, 0x20, 0x00, //K 43
    0x08, 0xF8, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x20, 0x20, 0x20, 0x30, 0x00, //L 44
    0x08, 0xF8, 0xF8, 0x00, 0xF8, 0xF8, 0x08, 0x00, 0x20, 0x3F, 0x00, 0x3F, 0x00, 0x3F, 0x20, 0x00, //M 45
    0x08, 0xF8, 0x30, 0xC0, 0x00, 0x08, 0xF8, 0x08, 0x20, 0x3F, 0x20, 0x00, 0x07, 0x18, 0x3F, 0x00, //N 46
    0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x10, 0x20, 0x20, 0x20, 0x10, 0x0F, 0x00, //O 47
    0x08, 0xF8, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x00, 0x20, 0x3F, 0x21, 0x01, 0x01, 0x01, 0x00, 0x00, //P 48
    0xE0, 0x10, 0x08, 0x08, 0x08, 0x10, 0xE0, 0x00, 0x0F, 0x18, 0x24, 0x24, 0x38, 0x50, 0x4F, 0x00, //Q 49
    0x08, 0xF8, 0x88, 0x88, 0x88, 0x88, 0x70, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x03, 0x0C, 0x30, 0x20, //R 50
    0x00, 0x70, 0x88, 0x08, 0x08, 0x08, 0x38, 0x00, 0x00, 0x38, 0x20, 0x21, 0x21, 0x22, 0x1C, 0x00, //S 51
    0x18, 0x08, 0x08, 0xF8, 0x08, 0x08, 0x18, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00, //T 52
    0x08, 0xF8, 0x08, 0x00, 0x00, 0x08, 0xF8, 0x08, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00, //U 53
    0x08, 0x78, 0x88, 0x00, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x07, 0x38, 0x0E, 0x01, 0x00, 0x00, //V 54
    0xF8, 0x08, 0x00, 0xF8, 0x00, 0x08, 0xF8, 0x00, 0x03, 0x3C, 0x07, 0x00, 0x07, 0x3C, 0x03, 0x00, //W 55
    0x08, 0x18, 0x68, 0x80, 0x80, 0x68, 0x18, 0x08, 0x20, 0x30, 0x2C, 0x03, 0x03, 0x2C, 0x30, 0x20, //X 56
    0x08, 0x38, 0xC8, 0x00, 0xC8, 0x38, 0x08, 0x00, 0x00, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x00, 0x00, //Y 57
    0x10, 0x08, 0x08, 0x08, 0xC8, 0x38, 0x08, 0x00, 0x20, 0x38, 0x26, 0x21, 0x20, 0x20, 0x18, 0x00, //Z 58
    0x00, 0x00, 0x00, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x40, 0x40, 0x40, 0x00, //[ 59
    0x00, 0x0C, 0x30, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x38, 0xC0, 0x00, //\ 60
    0x00, 0x02, 0x02, 0x02, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x7F, 0x00, 0x00, 0x00, //] 61
    0x00, 0x00, 0x04, 0x02, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //^ 62
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, //_ 63
    0x00, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //` 64
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x19, 0x24, 0x22, 0x22, 0x22, 0x3F, 0x20, //a 65
    0x08, 0xF8, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x11, 0x20, 0x20, 0x11, 0x0E, 0x00, //b 66
    0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x20, 0x11, 0x00, //c 67
    0x00, 0x00, 0x00, 0x80, 0x80, 0x88, 0xF8, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0x10, 0x3F, 0x20, //d 68
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x22, 0x22, 0x22, 0x22, 0x13, 0x00, //e 69
    0x00, 0x80, 0x80, 0xF0, 0x88, 0x88, 0x88, 0x18, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, //f 70
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x6B, 0x94, 0x94, 0x94, 0x93, 0x60, 0x00, //g 71
    0x08, 0xF8, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20, //h 72
    0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, //i 73
    0x00, 0x00, 0x00, 0x80, 0x98, 0x98, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x80, 0x80, 0x7F, 0x00, 0x00, //j 74
    0x08, 0xF8, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x24, 0x02, 0x2D, 0x30, 0x20, 0x00, //k 75
    0x00, 0x08, 0x08, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x3F, 0x20, 0x20, 0x00, 0x00, //l 76
    0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x20, 0x3F, 0x20, 0x00, 0x3F, 0x20, 0x00, 0x3F, //m 77
    0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x3F, 0x21, 0x00, 0x00, 0x20, 0x3F, 0x20, //n 78
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x20, 0x1F, 0x00, //o 79
    0x80, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0xFF, 0xA1, 0x20, 0x20, 0x11, 0x0E, 0x00, //p 80
    0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x0E, 0x11, 0x20, 0x20, 0xA0, 0xFF, 0x80, //q 81
    0x80, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x20, 0x20, 0x3F, 0x21, 0x20, 0x00, 0x01, 0x00, //r 82
    0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x33, 0x24, 0x24, 0x24, 0x24, 0x19, 0x00, //s 83
    0x00, 0x80, 0x80, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x00, 0x00, //t 84
    0x80, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00, 0x00, 0x1F, 0x20, 0x20, 0x20, 0x10, 0x3F, 0x20, //u 85
    0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x00, 0x01, 0x0E, 0x30, 0x08, 0x06, 0x01, 0x00, //v 86
    0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x80, 0x0F, 0x30, 0x0C, 0x03, 0x0C, 0x30, 0x0F, 0x00, //w 87
    0x00, 0x80, 0x80, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x20, 0x31, 0x2E, 0x0E, 0x31, 0x20, 0x00, //x 88
    0x80, 0x80, 0x80, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x81, 0x8E, 0x70, 0x18, 0x06, 0x01, 0x00, //y 89
    0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x21, 0x30, 0x2C, 0x22, 0x21, 0x30, 0x00, //z 90
    0x00, 0x00, 0x00, 0x00, 0x80, 0x7C, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x40, 0x40, //{ 91
    0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, //| 92
    0x00, 0x02, 0x02, 0x7C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x3F, 0x00, 0x00, 0x00, 0x00, //} 93
    0x00, 0x06, 0x01, 0x01, 0x02, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //~ 94
};
//unsigned char code F6x8[][6] =
//{
//    0x00, 0x00, 0x00, 0x00, 0x00, 0x00,// sp
//    0x00, 0x00, 0x00, 0x2f, 0x00, 0x00,// !
//    0x00, 0x00, 0x07, 0x00, 0x07, 0x00,// "
//    0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14,// #
//    0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12,// $
//    0x00, 0x62, 0x64, 0x08, 0x13, 0x23,// %
//    0x00, 0x36, 0x49, 0x55, 0x22, 0x50,// &
//    0x00, 0x00, 0x05, 0x03, 0x00, 0x00,// '
//    0x00, 0x00, 0x1c, 0x22, 0x41, 0x00,// (
//    0x00, 0x00, 0x41, 0x22, 0x1c, 0x00,// )
//    0x00, 0x14, 0x08, 0x3E, 0x08, 0x14,// *
//    0x00, 0x08, 0x08, 0x3E, 0x08, 0x08,// +
//    0x00, 0x00, 0x00, 0xA0, 0x60, 0x00,// ,
//    0x00, 0x08, 0x08, 0x08, 0x08, 0x08,// -
//    0x00, 0x00, 0x60, 0x60, 0x00, 0x00,// .
//    0x00, 0x20, 0x10, 0x08, 0x04, 0x02,// /
//    0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0
//    0x00, 0x00, 0x42, 0x7F, 0x40, 0x00,// 1
//    0x00, 0x42, 0x61, 0x51, 0x49, 0x46,// 2
//    0x00, 0x21, 0x41, 0x45, 0x4B, 0x31,// 3
//    0x00, 0x18, 0x14, 0x12, 0x7F, 0x10,// 4
//    0x00, 0x27, 0x45, 0x45, 0x45, 0x39,// 5
//    0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6
//    0x00, 0x01, 0x71, 0x09, 0x05, 0x03,// 7
//    0x00, 0x36, 0x49, 0x49, 0x49, 0x36,// 8
//    0x00, 0x06, 0x49, 0x49, 0x29, 0x1E,// 9
//    0x00, 0x00, 0x36, 0x36, 0x00, 0x00,// :
//    0x00, 0x00, 0x56, 0x36, 0x00, 0x00,// ;
//    0x00, 0x08, 0x14, 0x22, 0x41, 0x00,// <
//    0x00, 0x14, 0x14, 0x14, 0x14, 0x14,// =
//    0x00, 0x00, 0x41, 0x22, 0x14, 0x08,// >
//    0x00, 0x02, 0x01, 0x51, 0x09, 0x06,// ?
//    0x00, 0x32, 0x49, 0x59, 0x51, 0x3E,// @
//    0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C,// A
//    0x00, 0x7F, 0x49, 0x49, 0x49, 0x36,// B
//    0x00, 0x3E, 0x41, 0x41, 0x41, 0x22,// C
//    0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C,// D
//    0x00, 0x7F, 0x49, 0x49, 0x49, 0x41,// E
//    0x00, 0x7F, 0x09, 0x09, 0x09, 0x01,// F
//    0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A,// G
//    0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F,// H
//    0x00, 0x00, 0x41, 0x7F, 0x41, 0x00,// I
//    0x00, 0x20, 0x40, 0x41, 0x3F, 0x01,// J
//    0x00, 0x7F, 0x08, 0x14, 0x22, 0x41,// K
//    0x00, 0x7F, 0x40, 0x40, 0x40, 0x40,// L
//    0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F,// M
//    0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F,// N
//    0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E,// O
//    0x00, 0x7F, 0x09, 0x09, 0x09, 0x06,// P
//    0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q
//    0x00, 0x7F, 0x09, 0x19, 0x29, 0x46,// R
//    0x00, 0x46, 0x49, 0x49, 0x49, 0x31,// S
//    0x00, 0x01, 0x01, 0x7F, 0x01, 0x01,// T
//    0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F,// U
//    0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F,// V
//    0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F,// W
//    0x00, 0x63, 0x14, 0x08, 0x14, 0x63,// X
//    0x00, 0x07, 0x08, 0x70, 0x08, 0x07,// Y
//    0x00, 0x61, 0x51, 0x49, 0x45, 0x43,// Z
//    0x00, 0x00, 0x7F, 0x41, 0x41, 0x00,// [
//    0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55,// 55
//    0x00, 0x00, 0x41, 0x41, 0x7F, 0x00,// ]
//    0x00, 0x04, 0x02, 0x01, 0x02, 0x04,// ^
//    0x00, 0x40, 0x40, 0x40, 0x40, 0x40,// _
//    0x00, 0x00, 0x01, 0x02, 0x04, 0x00,// '
//    0x00, 0x20, 0x54, 0x54, 0x54, 0x78,// a
//    0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,// b
//    0x00, 0x38, 0x44, 0x44, 0x44, 0x20,// c
//    0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,// d
//    0x00, 0x38, 0x54, 0x54, 0x54, 0x18,// e
//    0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,// f
//    0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,// g
//    0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,// h
//    0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,// i
//    0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,// j
//    0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,// k
//    0x00, 0x00, 0x41, 0x7F, 0x40, 0x00,// l
//    0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,// m
//    0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,// n
//    0x00, 0x38, 0x44, 0x44, 0x44, 0x38,// o
//    0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,// p
//    0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,// q
//    0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,// r
//    0x00, 0x48, 0x54, 0x54, 0x54, 0x20,// s
//    0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,// t
//    0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,// u
//    0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,// v
//    0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,// w
//    0x00, 0x44, 0x28, 0x10, 0x28, 0x44,// x
//    0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,// y
//    0x00, 0x44, 0x64, 0x54, 0x4C, 0x44,// z
//    0x14, 0x14, 0x14, 0x14, 0x14, 0x14,// horiz lines
//};

uint8 status;
uint8 Str[20];
uint16 tmieCnt;
void OLEDDisplay(void)
{
    switch (status)
    {
        case 0:                     //上电显示logo
        {
            tmieCnt++;
            Picture_display();
            
            if (tmieCnt > 1500)
            {
                fill_picture(0x00);   //清屏
                tmieCnt = 0;
                status  = 1;
            }
        }
        break;
        
        case 1:                     //显示4通道
        {
            OLED_ShowString(0, 0, 16, "CH0: ");
            OLED_ShowString(0, 2, 16, "CH1: ");
            OLED_ShowString(0, 4, 16, "CH2: ");
            OLED_ShowString(0, 6, 16, "CH3: ");
            status  = 2;
        }
        break;
        
        case 2:
        {
            sprintf(Str, "%-6d", display_ch[0]);
            OLED_ShowString(50, 0, 16, Str);
            sprintf(Str, "%-6d", display_ch[1]);
            OLED_ShowString(50, 2, 16, Str);
            sprintf(Str, "%-6d", display_ch[2]);
            OLED_ShowString(50, 4, 16, Str);
            sprintf(Str, "%-6d", display_ch[3]);
            OLED_ShowString(50, 6, 16, Str);
            tmieCnt++;
            display_ch[1] += 9;
            display_ch[2] += 99;
            
            if (tmieCnt > 1000)
            {
                tmieCnt = 0;
                display_ch[0] += 16;
            }
        }
        break;
        
        default:
            break;
    }
}
